package com.example.infrastructure.persistence.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.example.infrastructure.common.BasePO;
import java.io.Serializable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 用户实名认证表 PO
 *
 * @author wangal
 * @since 2025-07-25
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("user_authentications")
@Schema(name = "UserAuthentications", description = "用户实名认证表")
public class UserAuthentications extends BasePO {

    private static final long serialVersionUID = 1L;

    @Schema(description = "用户ID")
    @TableField("user_id")
    private Long userId;

    @Schema(description = "真实姓名")
    @TableField("real_name")
    private String realName;

    @Schema(description = "身份证号")
    @TableField("id_card")
    private String idCard;

    @Schema(description = "身份证正面照片")
    @TableField("id_card_front")
    private String idCardFront;

    @Schema(description = "身份证背面照片")
    @TableField("id_card_back")
    private String idCardBack;

    @Schema(description = "认证状态：0待审核，1已认证，2未通过")
    @TableField("auth_status")
    private Byte authStatus;

    @Schema(description = "拒绝原因")
    @TableField("reject_reason")
    private String rejectReason;

    @Schema(description = "租户编号")
    @TableField("tenant_id")
    private Long tenantId;


}